package com.hlkj.pay.vo.order.resp;
/*
 * Hlpay-Plus aggregate payment system.
 * Copyright (c) 2024-2025 Hlpay Team Copyright has the right of final interpretation.
 */

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;

/**
 * @author HlpayTeam
 * @date 2025/02/10 16:37
 */
@Data
public class OrderTransferResp {

    @Schema(description = "平台订单号")
    private String payOrderNo;

    /**
     * 商户订单号
     */
    @Schema(description = "商户订单号")
    private String mchOrderNo;

    /**
     * 商户通道id
     */
    @Schema(description = "付款方商户通道code")
    private String mchChannelCode;

    /**
     * 客户端IP
     */
    @Schema(description = "客户端IP")
    private String clientIp;

    /**
     * 异步通知地址
     */
    @Schema(description = "异步通知地址")
    private String notifyUrl;

    /**
     * 商户商户号
     */
    @Schema(description = "商户商户号")
    private String sn;

    /**
     * 商户商户号
     */
    @Schema(description = "appid")
    private String appId;

    /**
     * 默认服务商
     */
    @Schema(description = "默认服务商")
    private String providerCode;

    /**
     * 默认通道
     */
    @Schema(description = "默认通道")
    private String channelCode;

    /**
     * 向下游回调状态, 0-未发送, 1-已发送'
     */
    @Schema(description = "向下游回调状态, 0-未发送,  1-已发送'")
    private Integer notifyState;

    /**
     *
     */
    @Schema(description = "通知时间")
    private Long notifyTime;

    /**
     * 签名方式 RSA2,MD5
     */
    @Schema(description = "签名方式 RSA2,MD5")
    private String signType;
    /**
     * 通道订单编号
     */
    @Schema(description = "通道订单编号")
    private String channelOrderNo;

    /**
     * 特定支付方式额外参数
     */
    @Schema(description = "特定支付方式额外参数")
    private String extra;

    /**
     * 状态 2 执行中 3 执行完成 4 执行失败
     */
    @Schema(description = "状态  2 执行中 3 执行完成 4 执行失败")
    private Integer status;

    /**
     * 备注
     */
    @Schema(description = "备注")
    private String remark;

    /**
     * 备注
     */
    @Schema(description = "消息提示")
    private String message;

    @Schema(description = "成功时间")
    private Long successTime;

    /**
     * 金额
     */
    @Schema(description = "金额")
    private BigDecimal amount;

    /**
     * 0:收款方付款;1:付款方付费
     */
    @Schema(description = "0:收款方付款;1:付款方付费")
    private Integer feePayer;

    /**
     * 商户通道id
     */
    @Schema(description = "收款方商户通道code")
    private String inMchChannelCode;

    @Schema(description = "收款方用户id")
    private String inUserId;
    @Schema(description = "收款方用户名")
    private String inUserName;
    @Schema(description = "收款方虚拟账号编码")
    private String inVirtualAccountNo;
    @Schema(description = "银行名称")
    private String bankName;
    @Schema(description = "商户名称")
    private String merchantName;
    @Schema(description = "付款方用户id")
    private String outUserId;
    @Schema(description = "付款方用户名")
    private String outUserName;
    @Schema(description = "付款方虚拟账号编码")
    private String outVirtualAccountNo;

}
